/*******************************************************************************
 * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *     UIUC - Initial API and implementation
 *******************************************************************************/
package org.eclipse.photran.internal.core.parser;

import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;

@SuppressWarnings("all")
public interface IASTVisitor
{
    void visitASTNode(IASTNode node);
    void visitToken(Token node);
    void visitASTListNode(IASTListNode<?> node);
    void visitASTAcImpliedDoNode(ASTAcImpliedDoNode node);
    void visitASTAcValueNode(ASTAcValueNode node);
    void visitASTAccessSpecNode(ASTAccessSpecNode node);
    void visitASTAccessStmtNode(ASTAccessStmtNode node);
    void visitASTAllStopStmtNode(ASTAllStopStmtNode node);
    void visitASTAllocatableStmtNode(ASTAllocatableStmtNode node);
    void visitASTAllocateCoarraySpecNode(ASTAllocateCoarraySpecNode node);
    void visitASTAllocateObjectNode(ASTAllocateObjectNode node);
    void visitASTAllocateStmtNode(ASTAllocateStmtNode node);
    void visitASTAllocatedShapeNode(ASTAllocatedShapeNode node);
    void visitASTAllocationNode(ASTAllocationNode node);
    void visitASTArithmeticIfStmtNode(ASTArithmeticIfStmtNode node);
    void visitASTArrayAllocationNode(ASTArrayAllocationNode node);
    void visitASTArrayConstructorNode(ASTArrayConstructorNode node);
    void visitASTArrayDeclaratorNode(ASTArrayDeclaratorNode node);
    void visitASTArrayElementNode(ASTArrayElementNode node);
    void visitASTArrayNameNode(ASTArrayNameNode node);
    void visitASTArraySpecNode(ASTArraySpecNode node);
    void visitASTAssignStmtNode(ASTAssignStmtNode node);
    void visitASTAssignedGotoStmtNode(ASTAssignedGotoStmtNode node);
    void visitASTAssignmentStmtNode(ASTAssignmentStmtNode node);
    void visitASTAssociateConstructNode(ASTAssociateConstructNode node);
    void visitASTAssociateStmtNode(ASTAssociateStmtNode node);
    void visitASTAssociationNode(ASTAssociationNode node);
    void visitASTAssumedShapeSpecListNode(ASTAssumedShapeSpecListNode node);
    void visitASTAssumedShapeSpecNode(ASTAssumedShapeSpecNode node);
    void visitASTAssumedSizeSpecNode(ASTAssumedSizeSpecNode node);
    void visitASTAsynchronousStmtNode(ASTAsynchronousStmtNode node);
    void visitASTAttrSpecNode(ASTAttrSpecNode node);
    void visitASTAttrSpecSeqNode(ASTAttrSpecSeqNode node);
    void visitASTBackspaceStmtNode(ASTBackspaceStmtNode node);
    void visitASTBinaryExprNode(ASTBinaryExprNode node);
    void visitASTBindStmtNode(ASTBindStmtNode node);
    void visitASTBindingAttrNode(ASTBindingAttrNode node);
    void visitASTBindingPrivateStmtNode(ASTBindingPrivateStmtNode node);
    void visitASTBlockConstructNode(ASTBlockConstructNode node);
    void visitASTBlockDataNameNode(ASTBlockDataNameNode node);
    void visitASTBlockDataStmtNode(ASTBlockDataStmtNode node);
    void visitASTBlockDataSubprogramNode(ASTBlockDataSubprogramNode node);
    void visitASTBlockDoConstructNode(ASTBlockDoConstructNode node);
    void visitASTBlockStmtNode(ASTBlockStmtNode node);
    void visitASTBodyPlusInternalsNode(ASTBodyPlusInternalsNode node);
    void visitASTBozLiteralConstNode(ASTBozLiteralConstNode node);
    void visitASTCExprNode(ASTCExprNode node);
    void visitASTCOperandNode(ASTCOperandNode node);
    void visitASTCPrimaryNode(ASTCPrimaryNode node);
    void visitASTCallStmtNode(ASTCallStmtNode node);
    void visitASTCaseConstructNode(ASTCaseConstructNode node);
    void visitASTCaseSelectorNode(ASTCaseSelectorNode node);
    void visitASTCaseStmtNode(ASTCaseStmtNode node);
    void visitASTCaseValueRangeNode(ASTCaseValueRangeNode node);
    void visitASTCharLenParamValueNode(ASTCharLenParamValueNode node);
    void visitASTCharLengthNode(ASTCharLengthNode node);
    void visitASTCharSelectorNode(ASTCharSelectorNode node);
    void visitASTCloseSpecListNode(ASTCloseSpecListNode node);
    void visitASTCloseSpecNode(ASTCloseSpecNode node);
    void visitASTCloseStmtNode(ASTCloseStmtNode node);
    void visitASTCoarraySpecNode(ASTCoarraySpecNode node);
    void visitASTCodimensionDeclNode(ASTCodimensionDeclNode node);
    void visitASTCodimensionStmtNode(ASTCodimensionStmtNode node);
    void visitASTCommaExpNode(ASTCommaExpNode node);
    void visitASTCommaLoopControlNode(ASTCommaLoopControlNode node);
    void visitASTCommonBlockBinding(ASTCommonBlockBinding node);
    void visitASTCommonBlockNameNode(ASTCommonBlockNameNode node);
    void visitASTCommonBlockNode(ASTCommonBlockNode node);
    void visitASTCommonBlockObjectNode(ASTCommonBlockObjectNode node);
    void visitASTCommonStmtNode(ASTCommonStmtNode node);
    void visitASTComplexConstNode(ASTComplexConstNode node);
    void visitASTComponentArraySpecNode(ASTComponentArraySpecNode node);
    void visitASTComponentAttrSpecNode(ASTComponentAttrSpecNode node);
    void visitASTComponentDeclNode(ASTComponentDeclNode node);
    void visitASTComponentInitializationNode(ASTComponentInitializationNode node);
    void visitASTComponentNameNode(ASTComponentNameNode node);
    void visitASTComputedGotoStmtNode(ASTComputedGotoStmtNode node);
    void visitASTConnectSpecNode(ASTConnectSpecNode node);
    void visitASTConstantNode(ASTConstantNode node);
    void visitASTContainsStmtNode(ASTContainsStmtNode node);
    void visitASTContiguousStmtNode(ASTContiguousStmtNode node);
    void visitASTContinueStmtNode(ASTContinueStmtNode node);
    void visitASTCrayPointerStmtNode(ASTCrayPointerStmtNode node);
    void visitASTCrayPointerStmtObjectNode(ASTCrayPointerStmtObjectNode node);
    void visitASTCriticalConstructNode(ASTCriticalConstructNode node);
    void visitASTCriticalStmtNode(ASTCriticalStmtNode node);
    void visitASTCycleStmtNode(ASTCycleStmtNode node);
    void visitASTDataComponentDefStmtNode(ASTDataComponentDefStmtNode node);
    void visitASTDataImpliedDoNode(ASTDataImpliedDoNode node);
    void visitASTDataRefNode(ASTDataRefNode node);
    void visitASTDataStmtConstantNode(ASTDataStmtConstantNode node);
    void visitASTDataStmtNode(ASTDataStmtNode node);
    void visitASTDataStmtSetNode(ASTDataStmtSetNode node);
    void visitASTDataStmtValueNode(ASTDataStmtValueNode node);
    void visitASTDatalistNode(ASTDatalistNode node);
    void visitASTDblConstNode(ASTDblConstNode node);
    void visitASTDeallocateStmtNode(ASTDeallocateStmtNode node);
    void visitASTDeferredCoshapeSpecListNode(ASTDeferredCoshapeSpecListNode node);
    void visitASTDeferredShapeSpecListNode(ASTDeferredShapeSpecListNode node);
    void visitASTDeferredShapeSpecNode(ASTDeferredShapeSpecNode node);
    void visitASTDerivedTypeDefNode(ASTDerivedTypeDefNode node);
    void visitASTDerivedTypeQualifiersNode(ASTDerivedTypeQualifiersNode node);
    void visitASTDerivedTypeSpecNode(ASTDerivedTypeSpecNode node);
    void visitASTDerivedTypeStmtNode(ASTDerivedTypeStmtNode node);
    void visitASTDimensionStmtNode(ASTDimensionStmtNode node);
    void visitASTDoConstructNode(ASTDoConstructNode node);
    void visitASTDummyArgNameNode(ASTDummyArgNameNode node);
    void visitASTEditElementNode(ASTEditElementNode node);
    void visitASTElseConstructNode(ASTElseConstructNode node);
    void visitASTElseIfConstructNode(ASTElseIfConstructNode node);
    void visitASTElseIfStmtNode(ASTElseIfStmtNode node);
    void visitASTElsePartNode(ASTElsePartNode node);
    void visitASTElseStmtNode(ASTElseStmtNode node);
    void visitASTElseWhereConstructNode(ASTElseWhereConstructNode node);
    void visitASTElseWherePartNode(ASTElseWherePartNode node);
    void visitASTElseWhereStmtNode(ASTElseWhereStmtNode node);
    void visitASTEmptyProgramNode(ASTEmptyProgramNode node);
    void visitASTEndAssociateStmtNode(ASTEndAssociateStmtNode node);
    void visitASTEndBlockDataStmtNode(ASTEndBlockDataStmtNode node);
    void visitASTEndBlockStmtNode(ASTEndBlockStmtNode node);
    void visitASTEndCriticalStmtNode(ASTEndCriticalStmtNode node);
    void visitASTEndDoStmtNode(ASTEndDoStmtNode node);
    void visitASTEndEnumStmtNode(ASTEndEnumStmtNode node);
    void visitASTEndForallStmtNode(ASTEndForallStmtNode node);
    void visitASTEndFunctionStmtNode(ASTEndFunctionStmtNode node);
    void visitASTEndIfStmtNode(ASTEndIfStmtNode node);
    void visitASTEndInterfaceStmtNode(ASTEndInterfaceStmtNode node);
    void visitASTEndModuleStmtNode(ASTEndModuleStmtNode node);
    void visitASTEndMpSubprogramStmtNode(ASTEndMpSubprogramStmtNode node);
    void visitASTEndNameNode(ASTEndNameNode node);
    void visitASTEndProgramStmtNode(ASTEndProgramStmtNode node);
    void visitASTEndSelectStmtNode(ASTEndSelectStmtNode node);
    void visitASTEndSelectTypeStmtNode(ASTEndSelectTypeStmtNode node);
    void visitASTEndSubmoduleStmtNode(ASTEndSubmoduleStmtNode node);
    void visitASTEndSubroutineStmtNode(ASTEndSubroutineStmtNode node);
    void visitASTEndTypeStmtNode(ASTEndTypeStmtNode node);
    void visitASTEndWhereStmtNode(ASTEndWhereStmtNode node);
    void visitASTEndfileStmtNode(ASTEndfileStmtNode node);
    void visitASTEntityDeclNode(ASTEntityDeclNode node);
    void visitASTEntryNameNode(ASTEntryNameNode node);
    void visitASTEntryStmtNode(ASTEntryStmtNode node);
    void visitASTEnumDefNode(ASTEnumDefNode node);
    void visitASTEnumDefStmtNode(ASTEnumDefStmtNode node);
    void visitASTEnumeratorDefStmtNode(ASTEnumeratorDefStmtNode node);
    void visitASTEnumeratorNode(ASTEnumeratorNode node);
    void visitASTEquivalenceObjectListNode(ASTEquivalenceObjectListNode node);
    void visitASTEquivalenceObjectNode(ASTEquivalenceObjectNode node);
    void visitASTEquivalenceSetNode(ASTEquivalenceSetNode node);
    void visitASTEquivalenceStmtNode(ASTEquivalenceStmtNode node);
    void visitASTErrorConstructNode(ASTErrorConstructNode node);
    void visitASTErrorProgramUnitNode(ASTErrorProgramUnitNode node);
    void visitASTExecutableProgramNode(ASTExecutableProgramNode node);
    void visitASTExitStmtNode(ASTExitStmtNode node);
    void visitASTExplicitCoshapeSpecNode(ASTExplicitCoshapeSpecNode node);
    void visitASTExplicitShapeSpecNode(ASTExplicitShapeSpecNode node);
    void visitASTExternalNameListNode(ASTExternalNameListNode node);
    void visitASTExternalNameNode(ASTExternalNameNode node);
    void visitASTExternalStmtNode(ASTExternalStmtNode node);
    void visitASTFieldSelectorNode(ASTFieldSelectorNode node);
    void visitASTFinalBindingNode(ASTFinalBindingNode node);
    void visitASTFmtSpecNode(ASTFmtSpecNode node);
    void visitASTForallConstructNode(ASTForallConstructNode node);
    void visitASTForallConstructStmtNode(ASTForallConstructStmtNode node);
    void visitASTForallHeaderNode(ASTForallHeaderNode node);
    void visitASTForallStmtNode(ASTForallStmtNode node);
    void visitASTForallTripletSpecListNode(ASTForallTripletSpecListNode node);
    void visitASTFormatEditNode(ASTFormatEditNode node);
    void visitASTFormatIdentifierNode(ASTFormatIdentifierNode node);
    void visitASTFormatStmtNode(ASTFormatStmtNode node);
    void visitASTFormatsepNode(ASTFormatsepNode node);
    void visitASTFunctionArgListNode(ASTFunctionArgListNode node);
    void visitASTFunctionArgNode(ASTFunctionArgNode node);
    void visitASTFunctionInterfaceRangeNode(ASTFunctionInterfaceRangeNode node);
    void visitASTFunctionNameNode(ASTFunctionNameNode node);
    void visitASTFunctionParNode(ASTFunctionParNode node);
    void visitASTFunctionPrefixNode(ASTFunctionPrefixNode node);
    void visitASTFunctionRangeNode(ASTFunctionRangeNode node);
    void visitASTFunctionReferenceNode(ASTFunctionReferenceNode node);
    void visitASTFunctionStmtNode(ASTFunctionStmtNode node);
    void visitASTFunctionSubprogramNode(ASTFunctionSubprogramNode node);
    void visitASTGenericBindingNode(ASTGenericBindingNode node);
    void visitASTGenericNameNode(ASTGenericNameNode node);
    void visitASTGenericSpecNode(ASTGenericSpecNode node);
    void visitASTGoToKwNode(ASTGoToKwNode node);
    void visitASTGotoStmtNode(ASTGotoStmtNode node);
    void visitASTHPEndMapStmtNode(ASTHPEndMapStmtNode node);
    void visitASTHPEndStructureStmtNode(ASTHPEndStructureStmtNode node);
    void visitASTHPEndUnionStmtNode(ASTHPEndUnionStmtNode node);
    void visitASTHPMapDeclNode(ASTHPMapDeclNode node);
    void visitASTHPMapStmtNode(ASTHPMapStmtNode node);
    void visitASTHPRecordDeclNode(ASTHPRecordDeclNode node);
    void visitASTHPRecordStmtNode(ASTHPRecordStmtNode node);
    void visitASTHPStructureDeclNode(ASTHPStructureDeclNode node);
    void visitASTHPStructureNameNode(ASTHPStructureNameNode node);
    void visitASTHPStructureStmtNode(ASTHPStructureStmtNode node);
    void visitASTHPUnionDeclNode(ASTHPUnionDeclNode node);
    void visitASTHPUnionStmtNode(ASTHPUnionStmtNode node);
    void visitASTIfConstructNode(ASTIfConstructNode node);
    void visitASTIfStmtNode(ASTIfStmtNode node);
    void visitASTIfThenErrorNode(ASTIfThenErrorNode node);
    void visitASTIfThenStmtNode(ASTIfThenStmtNode node);
    void visitASTImageSelectorNode(ASTImageSelectorNode node);
    void visitASTImageSetNode(ASTImageSetNode node);
    void visitASTImplicitSpecNode(ASTImplicitSpecNode node);
    void visitASTImplicitStmtNode(ASTImplicitStmtNode node);
    void visitASTImpliedDoVariableNode(ASTImpliedDoVariableNode node);
    void visitASTImportStmtNode(ASTImportStmtNode node);
    void visitASTInitializationNode(ASTInitializationNode node);
    void visitASTInputImpliedDoNode(ASTInputImpliedDoNode node);
    void visitASTInquireSpecListNode(ASTInquireSpecListNode node);
    void visitASTInquireSpecNode(ASTInquireSpecNode node);
    void visitASTInquireStmtNode(ASTInquireStmtNode node);
    void visitASTIntConstNode(ASTIntConstNode node);
    void visitASTIntentParListNode(ASTIntentParListNode node);
    void visitASTIntentParNode(ASTIntentParNode node);
    void visitASTIntentSpecNode(ASTIntentSpecNode node);
    void visitASTIntentStmtNode(ASTIntentStmtNode node);
    void visitASTInterfaceBlockNode(ASTInterfaceBlockNode node);
    void visitASTInterfaceBodyNode(ASTInterfaceBodyNode node);
    void visitASTInterfaceRangeNode(ASTInterfaceRangeNode node);
    void visitASTInterfaceStmtNode(ASTInterfaceStmtNode node);
    void visitASTIntrinsicListNode(ASTIntrinsicListNode node);
    void visitASTIntrinsicProcedureNameNode(ASTIntrinsicProcedureNameNode node);
    void visitASTIntrinsicStmtNode(ASTIntrinsicStmtNode node);
    void visitASTInvalidEntityDeclNode(ASTInvalidEntityDeclNode node);
    void visitASTIoControlSpecListNode(ASTIoControlSpecListNode node);
    void visitASTIoControlSpecNode(ASTIoControlSpecNode node);
    void visitASTKindParamNode(ASTKindParamNode node);
    void visitASTKindSelectorNode(ASTKindSelectorNode node);
    void visitASTLabelDoStmtNode(ASTLabelDoStmtNode node);
    void visitASTLabelNode(ASTLabelNode node);
    void visitASTLanguageBindingSpecNode(ASTLanguageBindingSpecNode node);
    void visitASTLblDefNode(ASTLblDefNode node);
    void visitASTLblRefListNode(ASTLblRefListNode node);
    void visitASTLblRefNode(ASTLblRefNode node);
    void visitASTLockStmtNode(ASTLockStmtNode node);
    void visitASTLogicalConstNode(ASTLogicalConstNode node);
    void visitASTLoopControlNode(ASTLoopControlNode node);
    void visitASTLowerBoundNode(ASTLowerBoundNode node);
    void visitASTMainProgramNode(ASTMainProgramNode node);
    void visitASTMainRangeNode(ASTMainRangeNode node);
    void visitASTMaskExprNode(ASTMaskExprNode node);
    void visitASTMaskedElseWhereConstructNode(ASTMaskedElseWhereConstructNode node);
    void visitASTMaskedElseWhereStmtNode(ASTMaskedElseWhereStmtNode node);
    void visitASTModuleBlockNode(ASTModuleBlockNode node);
    void visitASTModuleNameNode(ASTModuleNameNode node);
    void visitASTModuleNatureNode(ASTModuleNatureNode node);
    void visitASTModuleNode(ASTModuleNode node);
    void visitASTModuleProcedureStmtNode(ASTModuleProcedureStmtNode node);
    void visitASTModuleStmtNode(ASTModuleStmtNode node);
    void visitASTMpSubprogramRangeNode(ASTMpSubprogramRangeNode node);
    void visitASTMpSubprogramStmtNode(ASTMpSubprogramStmtNode node);
    void visitASTNameNode(ASTNameNode node);
    void visitASTNamedConstantDefNode(ASTNamedConstantDefNode node);
    void visitASTNamedConstantNode(ASTNamedConstantNode node);
    void visitASTNamedConstantUseNode(ASTNamedConstantUseNode node);
    void visitASTNamelistGroupNameNode(ASTNamelistGroupNameNode node);
    void visitASTNamelistGroupObjectNode(ASTNamelistGroupObjectNode node);
    void visitASTNamelistGroupsNode(ASTNamelistGroupsNode node);
    void visitASTNamelistStmtNode(ASTNamelistStmtNode node);
    void visitASTNestedExprNode(ASTNestedExprNode node);
    void visitASTNullifyStmtNode(ASTNullifyStmtNode node);
    void visitASTObjectNameListNode(ASTObjectNameListNode node);
    void visitASTObjectNameNode(ASTObjectNameNode node);
    void visitASTOnlyNode(ASTOnlyNode node);
    void visitASTOpenStmtNode(ASTOpenStmtNode node);
    void visitASTOperatorNode(ASTOperatorNode node);
    void visitASTOptionalParListNode(ASTOptionalParListNode node);
    void visitASTOptionalParNode(ASTOptionalParNode node);
    void visitASTOptionalStmtNode(ASTOptionalStmtNode node);
    void visitASTOutputImpliedDoNode(ASTOutputImpliedDoNode node);
    void visitASTOutputItemList1Node(ASTOutputItemList1Node node);
    void visitASTOutputItemListNode(ASTOutputItemListNode node);
    void visitASTParameterStmtNode(ASTParameterStmtNode node);
    void visitASTParentIdentifierNode(ASTParentIdentifierNode node);
    void visitASTParenthesizedSubroutineArgListNode(ASTParenthesizedSubroutineArgListNode node);
    void visitASTPauseStmtNode(ASTPauseStmtNode node);
    void visitASTPointerFieldNode(ASTPointerFieldNode node);
    void visitASTPointerNameNode(ASTPointerNameNode node);
    void visitASTPointerObjectNode(ASTPointerObjectNode node);
    void visitASTPointerStmtNode(ASTPointerStmtNode node);
    void visitASTPointerStmtObjectNode(ASTPointerStmtObjectNode node);
    void visitASTPositionSpecListNode(ASTPositionSpecListNode node);
    void visitASTPositionSpecNode(ASTPositionSpecNode node);
    void visitASTPrefixSpecNode(ASTPrefixSpecNode node);
    void visitASTPrintStmtNode(ASTPrintStmtNode node);
    void visitASTPrivateSequenceStmtNode(ASTPrivateSequenceStmtNode node);
    void visitASTProcComponentAttrSpecNode(ASTProcComponentAttrSpecNode node);
    void visitASTProcComponentDefStmtNode(ASTProcComponentDefStmtNode node);
    void visitASTProcDeclNode(ASTProcDeclNode node);
    void visitASTProcInterfaceNode(ASTProcInterfaceNode node);
    void visitASTProcedureDeclarationStmtNode(ASTProcedureDeclarationStmtNode node);
    void visitASTProcedureNameListNode(ASTProcedureNameListNode node);
    void visitASTProcedureNameNode(ASTProcedureNameNode node);
    void visitASTProgramNameNode(ASTProgramNameNode node);
    void visitASTProgramStmtNode(ASTProgramStmtNode node);
    void visitASTProtectedStmtNode(ASTProtectedStmtNode node);
    void visitASTRdCtlSpecNode(ASTRdCtlSpecNode node);
    void visitASTRdFmtIdExprNode(ASTRdFmtIdExprNode node);
    void visitASTRdFmtIdNode(ASTRdFmtIdNode node);
    void visitASTRdIoCtlSpecListNode(ASTRdIoCtlSpecListNode node);
    void visitASTRdUnitIdNode(ASTRdUnitIdNode node);
    void visitASTReadStmtNode(ASTReadStmtNode node);
    void visitASTRealConstNode(ASTRealConstNode node);
    void visitASTRenameNode(ASTRenameNode node);
    void visitASTReturnStmtNode(ASTReturnStmtNode node);
    void visitASTRewindStmtNode(ASTRewindStmtNode node);
    void visitASTSFDataRefNode(ASTSFDataRefNode node);
    void visitASTSFDummyArgNameListNode(ASTSFDummyArgNameListNode node);
    void visitASTSFDummyArgNameNode(ASTSFDummyArgNameNode node);
    void visitASTSFExprListNode(ASTSFExprListNode node);
    void visitASTSFExprNode(ASTSFExprNode node);
    void visitASTSFFactorNode(ASTSFFactorNode node);
    void visitASTSFPrimaryNode(ASTSFPrimaryNode node);
    void visitASTSFTermNode(ASTSFTermNode node);
    void visitASTSFVarNameNode(ASTSFVarNameNode node);
    void visitASTSaveStmtNode(ASTSaveStmtNode node);
    void visitASTSavedCommonBlockNode(ASTSavedCommonBlockNode node);
    void visitASTSavedEntityNode(ASTSavedEntityNode node);
    void visitASTScalarMaskExprNode(ASTScalarMaskExprNode node);
    void visitASTScalarVariableNode(ASTScalarVariableNode node);
    void visitASTSectionSubscriptNode(ASTSectionSubscriptNode node);
    void visitASTSelectCaseRangeNode(ASTSelectCaseRangeNode node);
    void visitASTSelectCaseStmtNode(ASTSelectCaseStmtNode node);
    void visitASTSelectTypeBodyNode(ASTSelectTypeBodyNode node);
    void visitASTSelectTypeConstructNode(ASTSelectTypeConstructNode node);
    void visitASTSelectTypeStmtNode(ASTSelectTypeStmtNode node);
    void visitASTSeparateModuleSubprogramNode(ASTSeparateModuleSubprogramNode node);
    void visitASTSignNode(ASTSignNode node);
    void visitASTSpecificBindingNode(ASTSpecificBindingNode node);
    void visitASTStmtFunctionRangeNode(ASTStmtFunctionRangeNode node);
    void visitASTStmtFunctionStmtNode(ASTStmtFunctionStmtNode node);
    void visitASTStopStmtNode(ASTStopStmtNode node);
    void visitASTStringConstNode(ASTStringConstNode node);
    void visitASTStructureComponentNode(ASTStructureComponentNode node);
    void visitASTStructureConstructorNode(ASTStructureConstructorNode node);
    void visitASTSubmoduleBlockNode(ASTSubmoduleBlockNode node);
    void visitASTSubmoduleNode(ASTSubmoduleNode node);
    void visitASTSubmoduleStmtNode(ASTSubmoduleStmtNode node);
    void visitASTSubroutineArgNode(ASTSubroutineArgNode node);
    void visitASTSubroutineInterfaceRangeNode(ASTSubroutineInterfaceRangeNode node);
    void visitASTSubroutineNameNode(ASTSubroutineNameNode node);
    void visitASTSubroutineNameUseNode(ASTSubroutineNameUseNode node);
    void visitASTSubroutineParNode(ASTSubroutineParNode node);
    void visitASTSubroutinePrefixNode(ASTSubroutinePrefixNode node);
    void visitASTSubroutineRangeNode(ASTSubroutineRangeNode node);
    void visitASTSubroutineStmtNode(ASTSubroutineStmtNode node);
    void visitASTSubroutineSubprogramNode(ASTSubroutineSubprogramNode node);
    void visitASTSubscriptNode(ASTSubscriptNode node);
    void visitASTSubscriptTripletNode(ASTSubscriptTripletNode node);
    void visitASTSubstrConstNode(ASTSubstrConstNode node);
    void visitASTSubstringRangeNode(ASTSubstringRangeNode node);
    void visitASTSyncAllStmtNode(ASTSyncAllStmtNode node);
    void visitASTSyncImagesStmtNode(ASTSyncImagesStmtNode node);
    void visitASTSyncMemoryStmtNode(ASTSyncMemoryStmtNode node);
    void visitASTSyncStatNode(ASTSyncStatNode node);
    void visitASTTargetNameNode(ASTTargetNameNode node);
    void visitASTTargetNode(ASTTargetNode node);
    void visitASTTargetObjectNode(ASTTargetObjectNode node);
    void visitASTTargetStmtNode(ASTTargetStmtNode node);
    void visitASTThenPartNode(ASTThenPartNode node);
    void visitASTTypeAttrSpecNode(ASTTypeAttrSpecNode node);
    void visitASTTypeBoundProcedurePartNode(ASTTypeBoundProcedurePartNode node);
    void visitASTTypeDeclarationStmtNode(ASTTypeDeclarationStmtNode node);
    void visitASTTypeGuardStmtNode(ASTTypeGuardStmtNode node);
    void visitASTTypeNameNode(ASTTypeNameNode node);
    void visitASTTypeParamAttrSpecNode(ASTTypeParamAttrSpecNode node);
    void visitASTTypeParamDeclNode(ASTTypeParamDeclNode node);
    void visitASTTypeParamDefStmtNode(ASTTypeParamDefStmtNode node);
    void visitASTTypeParamNameNode(ASTTypeParamNameNode node);
    void visitASTTypeParamSpecNode(ASTTypeParamSpecNode node);
    void visitASTTypeParamValueNode(ASTTypeParamValueNode node);
    void visitASTTypeSpecNode(ASTTypeSpecNode node);
    void visitASTUFExprNode(ASTUFExprNode node);
    void visitASTUFFactorNode(ASTUFFactorNode node);
    void visitASTUFPrimaryNode(ASTUFPrimaryNode node);
    void visitASTUFTermNode(ASTUFTermNode node);
    void visitASTUnaryExprNode(ASTUnaryExprNode node);
    void visitASTUnitIdentifierNode(ASTUnitIdentifierNode node);
    void visitASTUnlockStmtNode(ASTUnlockStmtNode node);
    void visitASTUnprocessedIncludeStmtNode(ASTUnprocessedIncludeStmtNode node);
    void visitASTUpperBoundNode(ASTUpperBoundNode node);
    void visitASTUseNameNode(ASTUseNameNode node);
    void visitASTUseStmtNode(ASTUseStmtNode node);
    void visitASTValueStmtNode(ASTValueStmtNode node);
    void visitASTVarOrFnRefNode(ASTVarOrFnRefNode node);
    void visitASTVariableCommaNode(ASTVariableCommaNode node);
    void visitASTVariableNameNode(ASTVariableNameNode node);
    void visitASTVariableNode(ASTVariableNode node);
    void visitASTVolatileStmtNode(ASTVolatileStmtNode node);
    void visitASTWaitSpecNode(ASTWaitSpecNode node);
    void visitASTWaitStmtNode(ASTWaitStmtNode node);
    void visitASTWhereConstructNode(ASTWhereConstructNode node);
    void visitASTWhereConstructStmtNode(ASTWhereConstructStmtNode node);
    void visitASTWhereRangeNode(ASTWhereRangeNode node);
    void visitASTWhereStmtNode(ASTWhereStmtNode node);
    void visitASTWriteStmtNode(ASTWriteStmtNode node);
    void visitIAccessId(IAccessId node);
    void visitIActionStmt(IActionStmt node);
    void visitIBindEntity(IBindEntity node);
    void visitIBlockDataBodyConstruct(IBlockDataBodyConstruct node);
    void visitIBodyConstruct(IBodyConstruct node);
    void visitICaseBodyConstruct(ICaseBodyConstruct node);
    void visitIComponentDefStmt(IComponentDefStmt node);
    void visitIDataIDoObject(IDataIDoObject node);
    void visitIDataStmtObject(IDataStmtObject node);
    void visitIDeclarationConstruct(IDeclarationConstruct node);
    void visitIDefinedOperator(IDefinedOperator node);
    void visitIDerivedTypeBodyConstruct(IDerivedTypeBodyConstruct node);
    void visitIExecutableConstruct(IExecutableConstruct node);
    void visitIExecutionPartConstruct(IExecutionPartConstruct node);
    void visitIExpr(IExpr node);
    void visitIForallBodyConstruct(IForallBodyConstruct node);
    void visitIHPField(IHPField node);
    void visitIInputItem(IInputItem node);
    void visitIInterfaceSpecification(IInterfaceSpecification node);
    void visitIInternalSubprogram(IInternalSubprogram node);
    void visitIModuleBodyConstruct(IModuleBodyConstruct node);
    void visitIModuleSubprogram(IModuleSubprogram node);
    void visitIModuleSubprogramPartConstruct(IModuleSubprogramPartConstruct node);
    void visitIObsoleteActionStmt(IObsoleteActionStmt node);
    void visitIObsoleteExecutionPartConstruct(IObsoleteExecutionPartConstruct node);
    void visitIProcBindingStmt(IProcBindingStmt node);
    void visitIProgramUnit(IProgramUnit node);
    void visitISelector(ISelector node);
    void visitISpecificationPartConstruct(ISpecificationPartConstruct node);
    void visitISpecificationStmt(ISpecificationStmt node);
    void visitIUnsignedArithmeticConst(IUnsignedArithmeticConst node);
    void visitIWhereBodyConstruct(IWhereBodyConstruct node);
}
